package com.zdkj.subway.stm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zdkj.common.core.entity.BaseEntity;
import com.zdkj.subway.stm.util.LocalDateConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 电子回执单
 *
 * @author songtuo
 * @date 2020-07-13 13:34:08
 */
@Data
@TableName("sw_st_electronic_receipt")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "电子回执单")
public class SwStElectronicReceipt extends BaseEntity<SwStElectronicReceipt> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ExcelProperty("序号")
    @ApiModelProperty(value = "唯一标识")
    private Integer id;
    /**
     * 线路编码，不能重复
     */
    @ExcelIgnore
    @ApiModelProperty(value = "线路编码，不能重复")
    private String lineCode;
    /**
     * 线路编码，不能重复
     */
    @ExcelIgnore
    @ApiModelProperty(value = "线路编码，不能重复")
    private String stationCode;
    /**
     * 记账时间
     */
    @ApiModelProperty(value = "记账时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "记账时间", converter = LocalDateConverter.class)
    private LocalDate accountTime;
    /**
     * 合计售卖张数
     */
    @ExcelProperty("合计售卖张数")
    @ApiModelProperty(value = "合计售卖张数")
    private Integer totalSellNum;
    /**
     * 合计售卖金额（元）
     */
    @ExcelProperty("合计售卖金额元")
    @ApiModelProperty(value = "合计售卖金额（元）")
    private BigDecimal totalSellAmount;
    /**
     * 合计转账金额（元）
     */
    @ExcelProperty("合计转账金额（元）")
    @ApiModelProperty(value = "合计转账金额（元）")
    private BigDecimal totalTransferAmount;
    /**
     * 审批状态(未提交，已提交，已清算)
     */
    @ApiModelProperty(value = "审批状态(未提交，已提交)")
    @ExcelProperty("状态")
    private String approvalStatus;

    /**
     * 备注
     */
    @ExcelIgnore
    @ApiModelProperty(value = "备注")
    private String remark;

    //2021-06-02新增
    /**
     * 售票员工号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "售票员工号")
    private String conductorJobNo;

    /**
     * 售票员名称
     */
    @ExcelIgnore
    @ApiModelProperty(value = "售票员名称")
    private String conductorName;

    /**
     * 售票员班次
     */
    @ExcelIgnore
    @ApiModelProperty(value = "售票员班次")
    private String conductorShifts;

    /**
     * 是否是合并数据  1：是 0 否 默认0
     */
    @ApiModelProperty(value = "是否是合并数据  1：是 0 否 默认0")
    private String isMerge;

    /**
     * 被合并的数据ID ,中间用逗号隔开 对应合并后的数据，存储对应的被合并的数据ID
     */
    @ApiModelProperty(value="被合并的数据ID ,中间用逗号隔开 对应合并后的数据，存储对应的被合并的数据ID")
    private String isBeMergedId;

    /**
     * 合并前的班次，中间用逗号隔开
     */
    @ApiModelProperty(value="合并前的班次，中间用逗号隔开")
    private String mergeConductorShifts;
}
